package com.hxkj.mapper;

import com.hxkj.domain.po.AuthUserRoleApp;
import com.platform.common.domain.annotation.EnableDataSource;
import org.springframework.stereotype.Repository;
import java.util.List;

/**
* 数据库操作接口
*
* @author: chenwei
* @version: 1.0
* @datetime: 2018-05-21 17:59:26
*
*/
@Repository("authUserRoleAppMapper")
public interface AuthUserRoleAppMapper {

    /**
    *
    * 根据主键查询AuthUserRoleApp对象
    *
    * @param id
    * @return AuthUserRoleApp对象
    */
    @EnableDataSource("slave")
    AuthUserRoleApp selectByPrimaryKey(Long id);

    /**
    *
    * 根据查询条件查询符合条件的AuthUserRoleApp对象
    *
    * @param authUserRoleApp
    * @return 符合条件的AuthUserRoleApp对象List
    */
    @EnableDataSource("slave")
    List<AuthUserRoleApp> select(AuthUserRoleApp authUserRoleApp);

    /**
    *
    * 根据主键删除AuthUserRoleApp对象
    *
    * @param id
    * @return 影响条件数
    */
    @EnableDataSource("master")
    int deleteByPrimaryKey(Long id);

    /**
    *
    * 根据条件删除符合条件的AuthUserRoleApp对象
    *
    * @param authUserRoleApp
    * @return 影响条件数
    */
    @EnableDataSource("master")
    int delete(AuthUserRoleApp authUserRoleApp);

    /**
     *
     * 根据roleId删除AuthUserRoleApp对象
     *
     * @param roleId
     * @return 影响条件数
     */
    @EnableDataSource("master")
    int deleteUserRoleAppByRoleId(Long roleId);

    /**
    *
    * 插入AuthUserRoleApp对象
    *
    * @param authUserRoleApp
    * @return 影响条件数
    */
    @EnableDataSource("master")
    int insert(AuthUserRoleApp authUserRoleApp);

    /**
    *
    * 更新AuthUserRoleApp对象
    *
    * @param authUserRoleApp
    * @return 影响条件数
    */
    @EnableDataSource("master")
    int update(AuthUserRoleApp authUserRoleApp);

    /**
    * @author Mr.zheng
    * @Description deleteUserRoleByUserId 根据用户ID解除用户与角色的绑定关系
    * @Date 14:55 2018/6/1
    * @Param [authUserRoleApp]
    * @return int
    **/
    int deleteUserRoleByUserId(AuthUserRoleApp authUserRoleApp);

    /**
    * @author Mr.zheng
    * @Description saveAuthUserRole 保存用户ID和角色ID的关联表
    * @Date 17:27 2018/6/1
    * @Param [authUserRoleApp]
    * @return int
    **/
    int saveAuthUserRole(AuthUserRoleApp authUserRoleApp);
}
